package com.henu.acmrating.dao;

import com.henu.acmrating.pojo.CfRating;
import com.henu.acmrating.pojo.RankItem;
import com.henu.acmrating.pojo.UserOj;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserOjMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(UserOj record);

    int insertOrUpdate(UserOj record);

    int insertOrUpdateSelective(UserOj record);

    int insertSelective(UserOj record);

    UserOj selectByPrimaryKey(Integer id);

    List<UserOj> selectByAccount(@Param("account") String account);

    UserOj selectByAccountAndOjName(@Param("account") String account, @Param("ojName") String ojName);

    UserOj selectByUserIdAndOjName(@Param("userId") Integer userId, @Param("ojName") String ojName);

    List<UserOj> selectByOjName(@Param("ojName") String ojName);

    List<String> selectAccountByOjName(@Param("ojName") String ojName);

    List<UserOj> selectByUserId(@Param("userId") Integer userId);

    List<RankItem> showRank(@Param("role") int role);

    int updateByPrimaryKeySelective(UserOj record);

    int updateByPrimaryKey(UserOj record);

    int updateBatch(List<UserOj> list);

    int batchInsert(@Param("list") List<UserOj> list);

    List<CfRating> selectByCf();
}